package com.cdu.guoxinan.www.smartcom.domian.pojo;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import javax.validation.constraints.NotNull;

import java.io.Serializable;

import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import org.hibernate.validator.constraints.Length;

/**
* 维修请求表
* @TableName maintenance_request
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@ToString
public class  MaintenanceRequest implements Serializable {

    /**
    * 请求ID
    */
    @NotNull(message="[请求ID]不能为空")
    @ApiModelProperty("请求ID")
    private Long requestId;
    /**
    * 问题描述
    */
    @NotBlank(message="[问题描述]不能为空")
    @Size(min= 0,max= 200,message="编码长度不能超过-1")
    @ApiModelProperty("问题描述")
    @Length(max= 200,min = 0,message="编码长度不能超过-1")
    private String description;
    /**
    * 提交人ID
    */
    @NotNull(message="[提交人ID]不能为空")
    @ApiModelProperty("提交人ID")
    private Long residentId;
    /**
    * 优先级（1低 2中 3高）
    */
    @NotNull(message="[优先级（1低 2中 3高）]不能为空")
    @ApiModelProperty("优先级（1低 2中 3高）")
    private Integer priority;
    /**
    * 处理状态（1待处理 2进行中 3已完成）
    */
    @NotNull(message="[处理状态（1待处理  2已处理）]不能为空")
    @ApiModelProperty("处理状态（1待处理  2已处理）")
    private Integer status;
    /**
    * 创建时间
    */
    @NotNull(message="[创建时间]不能为空")
    @ApiModelProperty("创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date createdAt;

}
